# Methods added to this helper will be available to all templates in the application.
module ApplicationHelper
  
  def data_formatada(date)
     h date.strftime("%d/%m/%Y - %H:%M %p")
   end  
   
  #descrição das possíveis ações do tomcat.
  def desc_acao_tomcat(acao)
    desc = {'0' => 'Nenhuma',
            '1' => 'Reload',
            '2' => 'Stop/Start'}
    return desc[acao]
  end
  
  def complex(comp)
    case comp
    when "a" then return "Alta"
    when "m" then return "Média"
    when "b" then return "Baixa"
    else
      return "-"
    end
  end  
  
  def desc_tipo(tipo)
    #descrição dos tipo de atualização possíveis do sistema  
    # TODO Verificar no banco o indice atual
    desc = {'0' => 'Após expediente',
            '1' => 'Imediatamente'}
    return desc[tipo]
  end
  ############# Ações Analista #############
  #enviarParaAtualizacaoProducao
  #enviarParaDesenvolvimento
  #enviarParaCertificacao
  ##########################################
  
  ############# Ações Desenvolvedor ########
  ##########################################
  
  ############# Ações Analista de teste ####
  ##########################################
  
  ############# Ações Banco de dados #######
  ##########################################
  
  ############# Ações Suporte ##############
  ##########################################
  
  ############# Ações Coordenador ##########
  ##########################################
  
  ############# Ações Gerente ##############
  ##########################################
  
  def desc_acao(acao)
    action = {'enviarParaAtualizacaoProducao' => "Solicitar Atualização de Produção",
              'enviarParaDesenvolvimento' => "Solicitar Desenvolvimento",
              'enviarParaCertificacao' => "Solicitar Certificação",
              'atualizarImediatamente' => "Atualizar Imediatamente",
              'autorizarAtualizacao' => "Autorizar Atualização",
              'escalarDesenvolvedor' => "Escalar Desenvolvedor",
              'iniciarDesenvolvimento' => "Iniciar Desenvolvimento",
              'suspenderDesenvolvimento' => "Suspender Desenvolvimento",
              'concluirDesenvolvimento' => "Concluir Desenvolvimento",
              'reprovarDesenvolvimento' => "Reprovar Desenvolvimento",
              'aprovarDesenvolvimento' => "Aprovar Desenvolvimento",
              'escalarCertificador' => "Escalar Certificador",
              'iniciarCertificacao' => "Iniciar Certificação",
              'suspenderCertificacao' => "Suspender Certificação",              
              'reprovarRequisicao' => "Reprovar Requisição",
              'cancelarCert' => "Cancelar Certificação",
              'solicitarAtualizacaoBdCert' => "Solicitar Atualização Bd",
              'cancelarAtualizacaoBdCert' => "Cancelar Atualização Bd",
              'iniciarAtualizacaoBdCert' => "Iniciar Atualização Bd",
              'suspenderAtualizacaoBdCert' => "Suspender Atualização Bd",
              'concluirAtualizacaoBdCert' => "Concluir Atualização Bd",
              'solicitarAtualizacaoServidorCert' => "Solicitar Atualização Servidor",
              'cancelarAtualizacaoServidorCert' => "Cancelar Atualização Servidor",
              'iniciarAtualizacaoServidorCert' => "Iniciar Atualização Servidor",
              'suspenderAtualizacaoServidorCert' => "Suspender Atualização Servidor",
              'concluirAtualizacaoServidorCert' => "Concluir Atualização Servidor",
              'aprovarRequisicao' => "Aprovar Requisição",
              'iniciarAtualizacaoBdProd' => "Iniciar Atualização Bd",
              'suspenderAtualizacaoBdProd' => "Suspender Atualização Bd",
              'cancelarAtualizacaoBdProd' => "Cancelar Atualização Bd",
              'concluirAtulizacaoBdProd' => "Concluir Atualização Bd",
              'iniciarAtualizacaoServidorProd' => "Iniciar Atualização Servidor",
              'suspenderAtualizacaoServidorProd' => "Suspender Atualização Servidor",
              'cancelarAtualizacaoServidorProd' => "Cancelar Atualização Servidor",
              'concluirAtulizacaoServidorProd' => "Concluir Atualização Servidor",
              'dispensarCertificacao' => "Dispensar Certificação",
              'atualizacaoAutorizada' => "Atualização Autorizada",
              'enviarParaProd' => "Solicitar Produção",
              'naoAtualizaBdProd' => "BD Não Atualizado Na Produção ",
              'atualizaBdProd' => "Atualizar Bd Produção",
              'solicitarAtualizacaoBdProd' => "Solicitar Atualização do Bd (Produção)",
              'naoAtualizaServidorProd' => "Servidor Não Atualizado na Produção ",
              'atualizaServidorProd' => "Atualiza Servidor Produção",
              'solicitarAtualizacaoServidorProd' => "Solicitar Atualização do Servidor (Produção)",
              'processoConcluido' => "Processo Concluído",
              'reportarErroProducao' => "Reportar Erro Produção",
              'autorizaEnvioProd' => "Autorizar Envio para Produção",
              'necessitaAutoriazaoGerenteProd' => "Necessita Autorição do Gerente de Produção",
              'reprovarDesenvolvimentoAnalista' => "Reprovar Desenvolvimento",
              'aprovarDesenvolvimentoAnalista' => "Aprovar Desenvolvimento"
    }
    
    return action[acao]
  end
  
  #retorna a descrição do estado
  def desc_estado(estado)
    #descrição de todos os estados possíveis do sistema  
#          'dadosCertificacaoAlterada' => 'Dados de Certificação Alterados',
#          'scriptsBdExecutado' => 'Scripts de Banco Executados',
#          'propostoAdiamentoPrazo' => 'Proposto Adiamento de Prazo',
#          'erroScriptBdCert' => 'Erro na Execução dos Scripts de Banco',
#          'erroScriptAntCert' => 'Erro na Execução do Script ANT',
#          'scriptAntExecutadoCert' => 'Script ANT Executado',
#          'erroAtualizacaoBdCert' => 'Erro na Atualização de Banco (Certificação)',
#          'erroAtualizacaoServidorCert' => 'Erro na Atualização de Servidor (Certificação)',
#          'erroAtualizacaoBdProd' => 'Erro na Atualização de Banco (Produção)',
#          'erroAtualizacaoServidorProd' => 'Erro na Atualização de Servidor (Produção)',


#'pendente' => "Pendente",
    est = {'criada' => "Requisição criada", 
          'dispensarCertificacao' => "Certificação dispensada",
          'aguardandoAutorizacaoGerencia' => 'Aguardado autorização da gerência',
          'atualizacaoAutorizadaGerencia' => 'Atualização autorizada pela gerência',
          'aguardandoDesenvolvimento' => 'Aguardando Desenvolvimento',
          'escaladaParaDesenvolvedor' => 'Escalada para Desenvolvimento',
          'desenvolvimentoSuspenso' => 'Desenvolvimento Suspenso',
          'emDesenvolvimento' => 'Em desenvolvimento',
          'desenvolvimentoConcluido' => 'Desenvolvimento Concluído',
          'desenvolvimentoReprovadoPool' => 'Desenvolvimento Reprovado (Pool)',
          'desenvolvimentoReprovadoAnal' => 'Desenvolvimento Reprovado (Analista)',
          'desenvolvimentoAprovadoPool' => 'Desenvolvimento Aprovado (Pool)',
          'desenvolvimentoAprovadoAnal' => 'Desenvolvimento Aprovado (Analista)',
          'aguardandoCertificacao' => 'Aguardando Certificação',
          'certificacaoCancelada' => 'Certificação Cancelada',
          'certificacaoSuspensa' => 'Certificação Suspensa',
          'certificacaoDispensada' => 'Certificação Dispensada',
          'escaladaCert' => 'Escalada para Certificação',
          'emCert' => 'Em Certificação',
          'aguardandoAtualizacaoBdCert' => 'Aguardando Atualização de Banco (Certificação)',
          'atualizacaoBdConcluidaCert' => 'Atualizaçao de Banco Concluída (Certificação)',
          'atualizacaoBdSuspensaCert' => 'Atualização de Banco Suspensa (Certificação)',
          'atualizacaoBdIniciadaCert' => 'Atualização de Banco Iniciada (Certificação)',          
          'atualizacaoBdCanceladaCert' => 'Atualização de Banco Cancelada (Certificação)',          
          'aguardandoAtualizacaoServidorCert' => 'Aguardando Atualizaçao de Servidor (Certificação)',
          'atualizacaoServidorConcluidaCert' => 'Atualizaçao de Servidor Concluída (Certificação)',
          'atualizacaoServidorCanceladaCert' => 'Atualizaçao de Servidor Cancelada (Certificação)',
          'atualizacaoServidorIniciadaCert' => 'Atualizaçao de Servidor Iniciada (Certificação)',
          'atualizacaoServidorSuspensaCert' => 'Atualizaçao de Servidor Suspensa (Certificação)',
          'requisicaoReprovadaCert' => 'Requisição Reprovada (Certificação)',
          'requisicaoAprovadaCert' => 'Requisição Aprovada (Certificação)',
          'aguardandoAtualizacaoProd' => 'Aguardando Atualizaçao de Produção',
          'aguardandoAtualizacaoBdProd' => 'Aguardando Atualização de Banco (Produção)',
          'atualizacaoBdIniciadaProd' => 'Atualização de Banco Iniciada (Produção)',
          'atualizacaoBdCanceladaProd' => 'Atualização de Banco Cancelada (Produção)',
          'atualizacaoBdConcluidaProd' => 'Atualização de Banco Concluída (Produção)',
          'atualizacaoBdSuspensaProd' => 'Atualização de Banco Suspensa (Produção)',          
          'aguardandoAtualizacaoServidorProd' => 'Aguardando Atualizaçao de Servidor (Produção)',
          'atualizacaoServidorIniciadaProd' => 'Atualizaçao de Servidor Iniciada (Produção)',
          'atualizacaoServidorCanceladaProd' => 'Atualização de Servidor Cancelada (Produção)',
          'atualizacaoServidorConcluidaProd' => 'Atualização de Servidor Concluída (Produção)',
          'atualizacaoServidorSuspensaProd' => 'Atualização de Servidor Suspensa (Produção)',
          'requisicaoEmProd' => 'Requisição em Produção',
          'erroNaProducao' => 'Erro Na Produção', 
          'autorizadoEnvioProducao' => 'Envio para produção autorizado',
          'aguardandoAutorizacaoGerenteProd' => 'Aguardando Autorização do Gerente (Produção)',
          'atualizacaoProducaoSolicitada' => 'Atualização de Produção Solicitada'
          }
    
    return est[estado]
  end
  
end
